#ifndef _GPIO_H_
#define _GPIO_H_

#include <sc95fx.H>

#define GPIO_Port0  BIT(0)
#define GPIO_Port1  BIT(1)
#define GPIO_Port2  BIT(2)
#define GPIO_Port3  BIT(3)
#define GPIO_Port4  BIT(4)
#define GPIO_Port5  BIT(5)

#define	GPIO_Pin0   BIT(0)
#define	GPIO_Pin1	BIT(1)
#define	GPIO_Pin2	BIT(2)
#define	GPIO_Pin3	BIT(3)
#define	GPIO_Pin4	BIT(4)
#define	GPIO_Pin5	BIT(5)
#define	GPIO_Pin6	BIT(6)
#define	GPIO_Pin7	BIT(7)

#define GPIO_Mode_OutPP 01
#define GPIO_Mode_InPullUp 10
#define GPIO_Mode_InHighImpedance 00

void GPIO_Init();
void GPIO_setMode(uint8_t GPIO_Portx, uint8_t GPIO_Pinx, uint8_t GPIO_Mode);
void GPIO_setBit(uint8_t GPIO_Portx, uint8_t GPIO_Pinx, bool state);
void GPIO_turnoff_ESP8266_OLED();
void GPIO_turnon_ESP8266_OLED();

#endif
